首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏linux教程

    CentOS 上安装GNU编译器套件—GCC

    GCC是Linux平台下最常用的编译程序,它是Linux平台编译器的事实标准。同时,在Linux平台下的嵌入式开发领域,GCC也是用得最普遍的一种编译器。 一、 在 CentOS 上安装 GCC 默认的 CentOS 软件源包含了一个软件包组,名称为 “Development Tools”,它包含了 GNU 编辑器集合,GNU 调试器,和其他编译软件所必需的开发库和工具 你可能还想安装关于如何使用 GNU/Linux开发的手册。 sudo dnf install man-pages 通过使用gcc --version命令打印 GCC 版本,来验证 GCC 编译器是否被成功安装: gcc --version 在 CentOS 8 三、总结 我们已经展示如何在 CentOS 8 上安装 GCC。 你现在可以浏览 GCC 官方文档页面,并且学习如何使用 GCC 和 G++ 来编译你的 C 和 C++ 程序。

    3.6K10编辑于 2023-04-26
  • GCC入门教程:GNU编译器集合从零开始

    我第一次尝试使用GCC时也是满头问号(???)。但实际上,GNU编译器集合(GCC)是开发者最强大的武器之一,掌握它就像获得了编程世界的瑞士军刀。 今天我们就来一步步拆解这个看似复杂的工具,让你轻松上手GCC(这绝对值得你花时间学习)!什么是GCCGCC最初代表"GNU C Compiler"(GNU C编译器),但随着它不断发展,现在代表"GNU Compiler Collection"(GNU编译器集合)。 GCCGNU项目的核心组件之一,这是一个自由软件运动的产物,目标是创建一个完全自由的操作系统。它的发展历史可以追溯到1980年代,而今天它已成为几乎所有Linux发行版的标准编译器。 易于集成到构建脚本和CI/CD流程- 深入学习 - 了解编译背后的魔法,而不是把它当作黑盒安装GCC在开始使用前,我们需要先安装GCC

    60310编辑于 2025-10-07
  • 来自专栏计算机视觉理论及其实现

    GNU系统概览

    GNU系统是一套向上兼容Unix的完全自由的操作系统。GNU代表“GNU's Not Unix”。它的发音是带有g音的单音节。 Richard Stallman在1983年9月做出了GNU工程的初始声明。接着在1985年3月又发表了更长的版本,叫做GNU宣言。它被翻译成多种其他语言。 起“GNU”这个名字是因为它满足了几个要求:第一,它是“GNU's Not Unix”的递归缩写;第二,它是一个真正的单词;第三,它说(或唱)起来有趣。 (如果您再发布GNU软件,您可以为发布拷贝过程中的物理行为收取一定的费用,你也可以赠送拷贝。)开发GNU系统的工程叫做“GNU工程”。 将Linux与几乎完成的GNU系统结合在一起就是一个完全的操作系统:GNU/Linux系统。估计现在有几千万人在使用GNU/Linux系统,通常是GNU/Linux发行版。

    1.5K20编辑于 2022-09-03
  • 来自专栏10km的专栏

    cmake+gcc解决extended initializer lists only available with -std=c++11 or -std=gnu++11

    cmimpl\testmd5.cpp:26:11: warning: extended initializer lists only available with -std=c++11 or -std=gnu cmake生成的项目,我们就需要在CMakeLists.txt中添加如下编译选项 add_definitions(“-std=c++11”) 或者 add_definitions(“-std=gnu

    77810编辑于 2022-05-07
  • 来自专栏RT1060开发

    AIoT应用创新大赛-用标准GNU GCC完成RT1060工程编译(纯VSCode开发)

    前言:其实在微信群里,NXP官方大佬也多次提到,使用官方IDE可以配置成标准GNU GCC工具链。可能是多年玩单片机的傲慢,让自己觉得不就是个构建环境嘛,有什么,自己改改就行。 第2步、使用VSCode打开源码目录(在这教程里,我将更名为rt1060_-gnu_-gcc,和我放在gitee开源仓的目录名一致),然后打开终端命令行,在终端中输入 cd Debug make 然后得到的是下面这样的错误提示 /xip/evkmimxrt1060_flexspi_nor_config.c Invoking: MCU C Compiler arm-none-eabi-gcc -std=gnu99 -D__REDLIB 通过谷歌可以搜索到nxp官方有说明,nxp默认是使用的下面这个配置,需要切换成常用的nano配置(在接下来的第三步完成) Redlib - Our own (non-GNU) ISO C90 standard /board/pin_mux.o /opt/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../..

    1.4K190编辑于 2022-03-15
  • 来自专栏开源部署

    GNU和GPL

    一、GNU介绍 GNU是一个自由的操作系统,其内容软件完全以GPL方式发布。这个操作系统是GNU计划的主要目标,名称来自GNU’s Not Unix! GCCGNU Compiler Collection,GNU编译器集合),是一套由 GNU 开发的编程语言编译器。以及大部分UNIX系统的程序库和工具。 许多UNIX系统上也安装了GNU软件,因为GNU软件的质量比之前UNIX的软件还要好。GNU工具还被广泛地移植到Windows和Mac OS上。 斯托曼发起了GNU项目,并成立了自由软件基金会。他开发了GCC、GDB、GNU Emacs,同时编写了GNU通用公共许可协议。 自由软件基金会还发布了GNU宽通用公共许可证和GNU自由文档许可证 监督版权 自由软件基金会拥有大多数GNU软件和一些非GNU自由软件的版权。

    1.5K10编辑于 2022-09-15
  • 来自专栏全栈程序员必看

    GNU Autoconf Introduction

    对于一些原生脚本最常见的抱怨是它们不符合一个或多个GNU编码标准( 请参阅GNU编码标准中的 ‘Configuration’ 一节 ) 用户已经期望使用 Autoconf 生成 ‘configure 有关详细信息,请参阅第2章 [ GNU构建系统 ],第3页。 Autoconf 需要 GNU M4 1.4.6 或更高版本才能生成脚本。 Autoconf 使用的功能在一些版本的 M4 上(包括GNU M4 1.3)没有。 Autoconf 最好使用 GNU M4 1.4.14 或更高版本,尽管这不是必需的。

    91110编辑于 2022-08-19
  • 来自专栏全栈程序员必看

    GCC、ARM-LINUX-GCC、ARM-ELF-GCC浅析

    大家好,又见面了,我是全栈君 一、GCC简介: The GNU Compiler Collection,通常简称GCC,是一套由GNU开发的编译器集,为什么是编辑器集而不是编译器呢? …… 1、源文件准备 binutils-2.14.tar.gz ftp://ftp.gnu.org/gnu/binutils/binutils-2.14.tar.gz gcc-core-2.95.3 .tar.gz ftp://ftp.gnu.org/gnu/gcc/gcc-2.95.3/gcc-core-2.95.3.tar.gz gcc-g++2.95.3.tar.gz ftp://ftp.gnu.org /gnu/gcc/gcc-2.95.3/gcc-g++-2.95.3.tar.gz glibc-2.2.4.tar.gz ftp://ftp.gnu.org/gnu/glibc/glibc-2.2.4 arm-linux-gcc使用GNU的Glibc,而arm-elf-gcc一般使用 uClibc/uC-libc或者使用REDHAT专门为嵌入式系统的开发的C库newlib。

    8.8K10编辑于 2022-07-18
  • 来自专栏python3

    GNU emacs Lisp小结3

    chapter4 与缓冲区有关的函数 4.1 查找更多的信息 C-h f 函数名   ;查询函数 C-h v 变量名   ;查询变量 find-tags 函数 ;跳到响应函数 M-. 函数名     ;同上 上面函数需要定义一个标记表(tags table),这是一个名为"TAGS"的文件。 可以使用M-x visit-tages-table来指定 C-h p 命令让你用主题关键字搜索Emacs Lisp标准库。 4.2 简化的beginning-of-buffer函数定义 beginning-of-buffer => M-< end-of-buffer => M-> (defun simple-beginning-of-buffer () "Move point to the beginning of the buffer; leave mark at previous position." (interactive) (push-mark) (goto-char (point-min))) 你可以使用C-h f fun来查询具体函数。 C-x C-x可以回到原来位置。 end-of-buffer 只需要把point-min换成point-max. 4.3 mark-whole-buffer函数 快捷键:C-x h (defun mark-whole-buffer () "Put point at beginning and mark at end of buffer." (interactive) (push-mark (point)) (push-mark (point-max)) (goto-char (point-min))) 4.4 append-to-buffer函数的定义 (defun append-to-buffer (buffer start end) "Append to specified buffer the next of the region. It is insert into that buffer before its point. When calling from a program, give three arguments: a buffer or the name of one, and two character numbers specifying the portion of the current buffer to be copied." (interactive "BAppend to buffer:\nr") (let ((oldbuf (current-buffer)))         (save-excursion (set-buffer (get-buffer-create buffer)) (insert-buffer-substring oldbuf start end)))) 4.5回顾 1.descibe-function, describe-variable C-h f, C-h v 2.find-tag M-. 3.save-excursion 保存当前的位点,标记,缓冲区,执行参数,最后返回原状态。 4.push-mark 在指定位置设置一个标记,并在标记环中记录原来标记的值。 5.goto-char 将位点设置为由参量指定的位置。 6.insert-buffer-substring 将一个来自缓冲区的文本域拷贝到当前缓冲区。 7.mark-whole-buffer C-x h 8.set-buffer 将Emacs的注意力转移到另一个缓冲区,但是不改变显示的窗口。 9.get-buffer-create, get-buffer 寻找一个已指定名字的缓冲区,或当指定名字的缓冲区不存在时就创建它。 chapter5 更复杂的函数 5.1 copy-to-buffer函数的定义 (defun copy-to-buffer (buffer, start, end) "...." (interactive "BCopy to buffer:\nr") (let ((oldbuf (current-buffer)))  (save-excursion    (set-buffer (get-buffer-create buffer))    (erase-buffer)    (save-excursion      (insert-buffer-substring oldbuf start end))))) 5.2 insert-buffer函数的定义 (defun insert-buffer (buffer) "Insert after point the contents of BUFFER. Puts mark a

    1.3K30发布于 2020-01-13
  • 来自专栏RainMark 的文章

    GNU C 内联汇编介绍

    GNU C 内联汇编介绍 简介 1、很早之前就听说 C 语言能够直接内嵌汇编指令。但是之前始终没有去详细了解过。最近由于某种需求,看到了相关的 C 语言代码。 使用内存地址并可以加偏移量 I 使用常数 0-31 J 使用常数 0-63 K 使用常数 0-255 M 使用常数 0-3 N 使用一字节常数 0-255 ---- 3、这里仅仅列出了一部分常用到的代码,更多详细请参考 GNU C 的 GCC 使用手册。 ---- GCC 的一些新特性 1、新的 GCC 允许我们为随机分配的寄存器命名,这样极大的方便我们编写内联汇编代码。 我在阅读 GCC 的使用手册时,发现了这个特性十分方便,因此在这里特别提出。当然还有很多新特性,感兴趣的读者可以自行阅读 GNU GCC 的开发者手册,并寻找有用的特性。记得回来分享哦。

    2.4K10发布于 2019-09-10
  • 来自专栏机器学习实践二三事

    gcc命令

    在Linux底下搞开发,不可避免的要使用到gccgcc选项众多,下面记录下常见的一些选项,网上好多博客也说这个但是很多的都是不对的,我的博客记录参见man gcc,应该还是比较准的 常用的选项: gcc 输出文件 -D 指定宏 -Ixxx 指定头文件搜索目录xxx(没有空格) -Wall 打开警告信息 -O 优化 -g 调试信息 -std 指定语言标准 -Ldir 把dir加到库文件的搜索路径中,而且gcc GCC performs nearly all supported optimizations that do not involve a space-speed tradeoff. -I(包含头文件的目录) 比如,你自定义了一个头文件dict.h其放置在工程根目录下的include子目录下,源文件在src下,其不在一个目录,编译时需要指定头文件存放的目录,如下: gcc -Wall -L在指定路径后并没有指定目标文件,所以要用到-l 参数指定文件 比如: gcc -o hello hello.c -I..

    1.5K80发布于 2018-01-02
  • 来自专栏我的独立博客

    GNU 汇编器的语法

    \n"; int main(void) { puts(msg); return 0; } 运行 gcc -S -Os hello.c .file "hello.c" \n" .ident "GCC: (GNU) 4.8.5 20150623 (Red Hat 4.8.5-39)" .section .note.GNU-stack,"",@progbits

    39910编辑于 2024-09-02
  • 来自专栏ExASIC

    GNU sed实例教程

    G把hold space中的内容追加到pattern space 4. p输出 sed手册下载 《GNU sed, a stream editor 》version 4.5, 30 March 2018

    1.5K10编辑于 2022-12-06
  • gcc安装后无法关联gcc命令问题

    当你安装到macOS系统gcc后,发现gcc --version根本不是gcc编译器而是clang C++编译器,在ubuntu上我们一般是sudo命令可以移除gcc重新链接到对应gcc,但是macOS 故即使利用Homebrew安装GCC编译器,编译程序时,GCC仍然关联的是系统自带的Clang编译器。 因此,我们需要在Homebrew安装了GCC编译器只侯,重新关联gcc到Homebrew安装的GCC编译器。 具体做法是: 找到Homebrew安装的与GCC相关的二进制文件: 进入Hombrew的文件目录**/opt/homebrew/bin/**,找到gcc-n,cpp-n,g++-n,c++-n的文件 重新建立关于gcc的别名(M系列芯片): alias gcc=‘gcc-n’ alias cpp=‘cpp-n’ alias g++=‘g++-n’ alias c++=‘c++-n’

    27610编辑于 2025-07-20
  • 来自专栏Gnep's_Technology_Blog

    GNU Radio实现OFDM Radar

    文章目录 前言 一、GNU Radio Radar Toolbox编译及安装 二、ofdm radar 原理讲解 三、GNU Radio 实现 OFDM Radar 1、官方提供的 grc ①、grc 图 ②、运行结果 2、修改后的便于后续可实现探测和通信的 grc ①、grc 图 ②、运行结果 四、资源自取 前言 本文使用 GNU Radio 搭建 OFDM Radar,实现雷达测距和测速功能。 一、GNU Radio Radar Toolbox编译及安装 参考我之前的博客,先编译及安装 gr-radar C++ OOT 库:GNU Radio Radar Toolbox编译及安装 二、ofdm 三、GNU Radio 实现 OFDM Radar 在这里,我将做的工作是将官方的 OFDM Radar 例程做一些修改,以满足可以实现雷达通信两个功能,对于通信来说,需要同步字和导频等相关符号,但是官方给出的 修改后的便于后续可实现探测和通信的 grc 针对官方的 grc 文件,增加同步字、导频、空的子载波等 ①、grc 图 ②、运行结果 设置目标距离为 1000m,速度为 500 m/s,仿真结果如下: 四、资源自取 链接:GNU

    89710编辑于 2024-06-01
  • 来自专栏云深之无迹

    GCC安装

    错误的不行 重新下载 下一步 安装 下载最新 目录,自己选择 还是不可以 在这个地方是安装的地方 里面有个自己注册环境变量的额脚本 自动识别

    2K30发布于 2020-11-03
  • gcc安装

    在MacOS操作系统上安装GCC是开发者们经常遇到的问题之一。GCCGNU编译器集合,它可以编译C,C++,Objective-C和其他一些编程语言。 然而,在MacOS上安装GCC并非一件简单的事情。本文将探讨如何在MacOS上安装GCC,以及如何解决可能遇到的问题。 1. 使用Homebrew安装GCC 安装了Homebrew之后,我们可以使用它来安装GCC。在终端中输入以下命令: brew install gcc 这将下载并安装最新版本的GCC。 在终端中输入: gcc --version 如果我们看到GCC的版本信息,就说明已经成功安装了GCC。 4. 配置GCC环境变量 安装GCC后,我们还需要配置GCC的环境变量,以便在任何目录下都能够使用GCC命令。 要配置GCC的环境变量,我们可以编辑当前用户的配置文件。

    73510编辑于 2025-07-20
  • 来自专栏全栈程序员必看

    GNU GPL介绍「建议收藏」

    怎样在程序中使用GNU许可证 不管使用哪种许可证,使用时须要在每一个程序的源文件里加入两个元素:一个版权声明和一个复制许可声明。说明该程序使用GNU许可证进行授权。 须要明白说明使用的是GNU GPL的那个版本号,是版本号2还是版本号3。 用于GNU计划。 它以GNU Emacs、GDB、GCC的许可证的早期版本号为蓝本。 这些许可证都包括有一些GPL的版权思想。但仅针对特定的程序。斯托曼的目标就是创造出一种四海之内皆可使用的许可证。 版本号好LGPL版本号2.1公布时不再同样,而LGPL也被重命名为GNU宽通用公共许可证(Lesser General Public License)以体现GNU哲学观。 声明 这是一份GNU通用公共授权非正式的中文翻译。

    1.2K10编辑于 2022-07-07
  • 来自专栏云计算运维

    GNU 核心实用程序简介

    许多 Linux 系统管理员最基本和常用的工具主要包括在两套实用程序中:GNU 核心实用程序(coreutils)和 util-linux。 GNU coreutils 要了解 GNU 核心实用程序的起源,我们需要乘坐时光机进行一次短暂的旅行,回到贝尔实验室的 Unix 早期。 Stallman(RMS),他带领着一群“反叛者”试图编写一个开放的、自由的可用操作系统,他们称之为 GNU 操作系统。这群人创建了 GNU 实用程序,但并没有产生一个可行的内核。 你可以通过在终端命令行中输入命令 info coreutils 来了解 GNU 核心实用程序的全部内容。下面的核心实用程序列表就是这个信息页面的一部分。 总结 这两个 Linux 实用程序的集合,GNU 核心实用程序和 util-linux,共同提供了管理 Linux 系统所需的基本实用程序。

    74810发布于 2021-09-18
  • 来自专栏大数据学习笔记

    CentOS6 升级gcc:源码编译安装gcc4.6和gcc4.8

    (GCC) 4.4.7 20120313 (Red Hat 4.4.7-17) 2、下载gcc、gmp和mpfr [root@master ~]# wget http://ftp.gnu.org/ gnu/gcc/gcc-4.6.1/gcc-4.6.1.tar.bz2 [root@master ~]# wget ftp://gcc.gnu.org/pub/gcc/infrastructure/ directory `/root/gcc-4.6.1/x86_64-unknown-linux-gnu/libgomp' make[1]: Leaving directory `/root/gcc- 二、源码编译安装gcc4.8 1、下载gcc-4.8.2.tar.bz2 [root@master ~]# wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2 COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.8.2/lto-wrapper

    2.7K10编辑于 2022-05-06
领券